1. Field of the Invention
The present invention relates generally to an improved data processing system and more specifically to a computer implemented method, a data processing system and a computer program product for space efficient de-allocation for cascade/multiple target cleaning.
2. Description of the Related Art
In cascade implementations of multiple target FlashCopy® devices, such as that available with the IBM® storage area network (SAN) volume controller, a write to the source disk for an area that has not yet been copied will result in the data being copied to just one of the target disks. For these implementations, a read I/O request submitted to a target disk may require FlashCopy to read data from the source disk, the target disk or another target disk in the cascade, depending on which source or target disks have previously been written to. For further details about cascaded Flash Copy implementations see the user publications for IBM SAN Volume Controller 4.2.0.
A disadvantage of the cascaded implementation over a traditional implementation is that it generates additional dependencies between the target disks. To be able to satisfy read requests from one target disk, a cascaded implementation may have to read data from another target disk in the cascade. Consequently, if a user wishes to stop and delete a Flash Copy mapping that is part of a cascade, it is first necessary to copy all the data that is required by other target disks in the cascade to another target disk. Within SAN volume control this process of copying data is called cleaning. While in this state, the target disk of the map being removed cannot be accessed to guarantee the cleaning operation completes. Only when the target is clean can a map be stopped and then deleted.
In a system where this implementation of multiple target FlashCopy is combined with space efficient disks or also known as, late allocation disks, the fact that this cleaning process must complete before the mapping can be deleted can create a problem. Consider the situation where there are many copies of a source disk and each of these copies is held on a space efficient target disk, for example, in a continuous data protection (CDP) system. As the number of copies increases, the system starts to run out of real storage to use for the space efficient disks. In order to free up storage, the system administrator may want to stop some of the less important copies and delete their target disks. Unfortunately, in order to stop these copies, the cleaning process has to complete. The copying of data may require even more real storage to be allocated. The system may reach a deadlock situation where the cleaning process requires more storage to be allocated, but there is not any storage to allocate until the cleaning process completes and the target disks are deleted.